﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DATA;
using DATA.Base;
using DATA.BusinessObjects;
using DATA.ManagerObjects;
using NHibernate;

namespace BUS
{
    public class LoaiKhachBUS
    {
        #region Len - Lay danh sach loai khach
        public static IList<Loaikhach> LayDanhSachLoaiKhach()
        {
            IList<Loaikhach> lstLoaiKhach = null;
            try
            {
                IManagerFactory iMF = new ManagerFactory();
                ILoaikhachManager iLoaiKhach = iMF.GetLoaikhachManager();
                lstLoaiKhach = iLoaiKhach.GetAll();
            }
            catch (Exception ex)
            {
                
                throw new Exception("Lỗi, không lấy được danh sách loại khách, null",ex);
            }
            return lstLoaiKhach;
        }
        #endregion

        #region Len - Lay loai khach theo ID
        public static Loaikhach LayLoaiKhachTheoID(String ID)
        {
            Loaikhach loaiKhach = null;
            try
            {
                IManagerFactory iMF = new ManagerFactory();
                ILoaikhachManager iLoaiKhach = iMF.GetLoaikhachManager();
                loaiKhach = iLoaiKhach.GetById(ID);
            }
            catch (Exception ex)
            {
                throw new Exception("Lỗi, không lấy được loại khách", ex);
            }
            return loaiKhach;
        }
        #endregion

        #region Bình - Cập nhật loại khách
        public static Boolean CapNhatLoaiKhach(Loaikhach lk)
        {
            Boolean flag = false;
            ISession isession = NHibernateSessionManager.Instance.Session.GetISession();
            ITransaction iTrans = null;
            try
            {
                iTrans = isession.BeginTransaction();
                isession.Update(lk);
                iTrans.Commit();
                flag = true;
            }
            catch (Exception ex)
            {
                iTrans.Rollback();
                throw new Exception("Lỗi", ex);
            }
            return flag;
        }
        #endregion
    }
}
